package com.ssy.lingxi.member.merchant.model.vo.basic.response;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * （下级）会员详细信息查询VO
 * @author 万宁
 * @version 2.0.0
 * @date 2021-06-01
 */
public class SubMemberDetailVO implements Serializable {
    private static final long serialVersionUID = -5575401227143920047L;

    public SubMemberDetailVO() {
        this.validateId = 0L;
        this.memberId = 0L;
        this.name = "";
        this.status = 0;
        this.statusName = "";
        this.outerStatus = 0;
        this.outerStatusName = "";
        this.innerStatus = 0;
        this.innerStatusName = "";
        this.memberTypeEnum = 0;
        this.memberTypeName = "";
        this.roleName = "";
        this.level = 0;
        this.levelTag = "";
        this.account = "";
        this.phone = "";
        this.email = "";
        this.registerTime = "";
        this.channelLevelTag = "";
        this.channelTypeName = "";
        this.areas = new ArrayList<>();
        this.remark = "";
    }

    /**
     * 数据Id，前端页面不展示，用作其他接口的参数
     */
    private Long validateId;

    /**
     * 会员基本信息 - 会员Id
     */
    private Long memberId;

    /**
     * 会员基本信息 - 会员名称
     */
    private String name;

    /**
     * 会员状态 1-冻结 2-正常 3-整改 4-淘汰 5-黑名单
     */
    private Integer status;

    /**
     * 会员状态名称
     */
    private String statusName;

    /**
     * 外部状态
     */
    private Integer outerStatus;

    /**
     * 会员基本信息 - 外部状态名称
     */
    private String outerStatusName;

    /**
     * 内部状态
     */
    private Integer innerStatus;

    /**
     * 会员基本信息 - 内部状态名称
     */
    private String innerStatusName;

    /**
     * 会员类型枚举，前端不展示，当值为3或4时，展示渠道信息
     */
    private Integer memberTypeEnum;

    /**
     * 会员基本信息 - 会员类型名称
     */
    private String memberTypeName;

    /**
     * 会员基本信息 - 角色名称
     */
    private String roleName;

    /**
     * 会员基本信息 - 会员等级
     */
    private Integer level;

    /**
     * 会员基本信息 - 会员等级
     */
    private String levelTag;

    /**
     * 会员基本信息 - 登录账户
     */
    private String account;

    /**
     * 会员基本信息 - 注册手机号
     */
    private String phone;

    /**
     * 会员基本信息 - 注册邮箱
     */
    private String email;

    /**
     * 会员基本信息 - 注册时间
     */
    private String registerTime;

    /**
     * 渠道信息 - 渠道级别，当memberTypeEnum=3或4时前端进行展示
     */
    private String channelLevelTag;

    /**
     * 渠道信息 - 渠道类型，当memberTypeEnum=3或4时前端进行展示
     */
    private String channelTypeName;

    /**
     * 渠道信息 - 代理城市列表，格式为“省/市”，当memberTypeEnum=3或4时前端进行展示
     */
    private List<String> areas;

    /**
     * 渠道信息 - 渠道描述，当memberTypeEnum=3或4时前端进行展示
     */
    private String remark;

    public Long getValidateId() {
        return validateId;
    }

    public void setValidateId(Long validateId) {
        this.validateId = validateId;
    }

    public Long getMemberId() {
        return memberId;
    }

    public void setMemberId(Long memberId) {
        this.memberId = memberId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getStatusName() {
        return statusName;
    }

    public void setStatusName(String statusName) {
        this.statusName = statusName;
    }

    public Integer getOuterStatus() {
        return outerStatus;
    }

    public void setOuterStatus(Integer outerStatus) {
        this.outerStatus = outerStatus;
    }

    public String getOuterStatusName() {
        return outerStatusName;
    }

    public void setOuterStatusName(String outerStatusName) {
        this.outerStatusName = outerStatusName;
    }

    public Integer getInnerStatus() {
        return innerStatus;
    }

    public void setInnerStatus(Integer innerStatus) {
        this.innerStatus = innerStatus;
    }

    public String getInnerStatusName() {
        return innerStatusName;
    }

    public void setInnerStatusName(String innerStatusName) {
        this.innerStatusName = innerStatusName;
    }

    public Integer getMemberTypeEnum() {
        return memberTypeEnum;
    }

    public void setMemberTypeEnum(Integer memberTypeEnum) {
        this.memberTypeEnum = memberTypeEnum;
    }

    public String getMemberTypeName() {
        return memberTypeName;
    }

    public void setMemberTypeName(String memberTypeName) {
        this.memberTypeName = memberTypeName;
    }

    public String getRoleName() {
        return roleName;
    }

    public void setRoleName(String roleName) {
        this.roleName = roleName;
    }

    public Integer getLevel() {
        return level;
    }

    public void setLevel(Integer level) {
        this.level = level;
    }

    public String getLevelTag() {
        return levelTag;
    }

    public void setLevelTag(String levelTag) {
        this.levelTag = levelTag;
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getRegisterTime() {
        return registerTime;
    }

    public void setRegisterTime(String registerTime) {
        this.registerTime = registerTime;
    }

    public String getChannelLevelTag() {
        return channelLevelTag;
    }

    public void setChannelLevelTag(String channelLevelTag) {
        this.channelLevelTag = channelLevelTag;
    }

    public String getChannelTypeName() {
        return channelTypeName;
    }

    public void setChannelTypeName(String channelTypeName) {
        this.channelTypeName = channelTypeName;
    }

    public List<String> getAreas() {
        return areas;
    }

    public void setAreas(List<String> areas) {
        this.areas = areas;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }
}
